from api import DnsPodApi, get_internet_ip, config

# 根据配置查询ddns记录列表,并通过列表获取记录id与记录值
dns_pod = DnsPodApi("https://dnsapi.cn")
rsp = dns_pod.get_records_list()
if rsp.response_status_code == "10":
    print("没有找到该域名相关记录,即将帮您呢创建新域名")
    rsp = dns_pod.create_records(value="127.0.0.1")
    if rsp.response_status_code == "1":
        print("恭喜你获得了新域名 %s.%s" % (config.get("sub_domain"), config.get("domain")))
        record_id = rsp.response_record_id
        record_value = rsp.response_record_name
    else:
        raise RuntimeError("创建记录失败")
else:
    record_id = rsp.response_latest_record_id_in_list
    record_value = rsp.response_latest_record_value_in_list

# 获取当前外网IP
internet_ip = get_internet_ip()

# 校验是否相等
if record_value != internet_ip:
    dns_pod.update_records(record_id, internet_ip)
    print("您当前外网与域名没有绑定,即将帮您绑定...")
    print("绑定成功! 当前的外网IP: %s 对应的域名是 %s.%s" % (internet_ip, config.get("sub_domain"), config.get("domain")))
    
else:
    print("当前的外网IP: %s 对应的域名是 %s.%s" % (internet_ip, config.get("sub_domain"), config.get("domain")))
    print("与当前一致,不需要更新喔")
